{{tag>pare-feu sécurité réseau vétuste brouillon }}
====== SNORT - Système de détection d'intrusion ======

Snort est un système de détection d'intrusion libre pour le réseau (ou NIDS) publié sous licence GNU GPL. On gère sa configuration par des règles (rules), une communauté d'utilisateur partage librement ces configurations.

C'est également le cheval gagnant en matière de détection d'intrusion, utilisé par beaucoup d'entreprises et organisations gouvernementales. Snort est un des plus actifs NIDS Open Source et possède une communauté importante contribuant à son succès.

Site officiel : [[http://www.snort.org/]]

SNORT® est maintenu par Sourcefire.

Voir : **[[Snort inline]]**, version 'améliorée' de snort pour en faire un IPS (Système de prévention d'intrusion ), capable de bloquer les intrusions/attaques.

===== Installation =====
==== Par dépot ====


Il faut commencer par installer **snort** et **oinkmaster**, [[apt://snort,oinkmaster,snort-rules-default|en cliquant ici]], ou :

<code>sudo apt-get install snort oinkmaster snort-rules-default</code>

==== Par Compilation ====

Pour ceux qui voudraient faire l'installation en le compilant c'est ici : [[http://www.system-linux.eu|http://www.system-linux.eu]] (catégorie sécurité)

===== Configuration =====


Ensuite éditez oinkmaster.conf:

<code>sudo gedit /etc/oinkmaster.conf</code>

Dans la section  "Location of rules archive", commentez la ligne:
#url = http://www.snort.org/dl/rules/snortrules-snapshot-2_2.tar.gz
et ajoutez juste en dessous la ligne suivante:
url = http://www.emergingthreats.net/rules/emerging.rules.tar.gz

Ensuite lancez la commande:
<code>sudo oinkmaster -o /etc/snort/rules</code>

Si vous avez une erreur du type: ///usr/sbin/oinkmaster: Error: the temporary directory "/var/run/oinkmaster" does not exist or isn't writable by you.//
Il faut simplement créer le dossier temporaire avec la commande:

<code>sudo -s (entrez mot de passe)</code>

Puis:

<code>mkdir /var/run/oinkmaster</code>

et ensuite relancez la commande:

<code>sudo oinkmaster -o /etc/snort/rules</code>

Oinkmaster va alors se charger de télécharger les règles depuis le site emergingthreats vers /etc/snort/rules. Ce site change souvent de nom et d'URL car les règles étant publiques, toute personne avec de bonnes comme de mauvaises intentions peut y accéder. Malgré tout, ces règles sont très bien faites et emergingthreats dépense beaucoup de temps et d'énergie à nous faire de bonnes règles de détection.

Ensuite lancez la commande:

<code>crontab -e</code>

et ajoutez cette ligne:

<code>55 13 * * 6 /usr/sbin/oinkmaster -o /etc/snort/rules</code>

ctrl o et ctrl x pour sauver et quitter le fichier.

Ensuite insérez un commentaire a la fin du fichier snort.conf (pour s'y retrouver avec l'insertion des futures règles):

<code>sudo -s</code>

puis

<code>echo "#EmergingThreats.net Rules" >> /etc/snort/snort.conf</code>

Puis ouvrez un autre terminal en root (sudo -s) et placez vous dans:

<code>cd /etc/snort/rules</code>

puis lancez un petit programme que j'ai fait pour vous simplifier la vida:

<code>for i in `ls -1 emerging*` ; do echo "include \$RULE_PATH/"$i ; done >> /etc/snort/snort.conf</code>

erratum : ''**for i in `ls -1 emerging*` ; do echo "include \$RULE_PATH/"$i  » /etc/snort/snort.conf ; done;**'' 


Cela va vous économiser une bonne dixaine de minutes en listant, (affichant) et insérant toutes les règles avec le mot "emerging" dans le fichier de conf de Snort. Très pratique, non? Après avoir installer Snort sur des centaines de serveurs, on veut toujours gagner un peu plus de temps ici et la.

Ensuite editez snort.conf:

<code>sudo vi /etc/snort/snort.conf</code>

Tout en bas du fichier, en dessous de **#EmergingThreats.net Rules** vous allez voir toute les règles insérées avec la méthode ci-dessus, il faut en commenter quelques unes (pour plus de detail sur "pourquoi bloquer certaines regles?":[[http://www.snort.org/]]):

Commentez #include $RULE_PATH/emerging-botcc-BLOCK.rules

Commentez #include $RULE_PATH/emerging-compromised-BLOCK.rules

Commentez #include $RULE_PATH/emerging-drop-BLOCK.rules

Commentez #include $RULE_PATH/emerging-dshield-BLOCK.rules

Commentez #include $RULE_PATH/emerging-rbn-BLOCK.rules

Commentez #include $RULE_PATH/emerging-sid-msg.map

Commentez #include $RULE_PATH/emerging-sid-msg.map.txt

Et voilà SNORT est installé et prêt à fonctionner et à guetter toute intrusion.
Démarrez SNORT avec la commande:

<code>sudo /etc/init.d/snort start</code>

Si vous souhaitez pousser la sécurité a son presque maximum dans la branche intrusion, lancez ces commandes:

<code>sudo aptitude install logcheck logcheck-database rkhunter binutils</code>

Ensuite lancez RootKit Hunter:

<code>sudo -s
rkhunter -c</code>

Et veillez à prendre chaque message de mise en garde au sérieux...


Voici un autre article sur snort: [[http://forum.ubuntu-fr.org/viewtopic.php?pid=2647403]]

=====Pages connexes=====

====Optimiser snort====

   * [[Barnyard]] : Barnyard permet de prendre en charge l’inscription des événements en base de données et libère donc des resources à Snort qui peut davantage se concentrer sur la détection des intrusions. 
==== IPS reseau ====

   * [[Snort Inline]] - solution officielle, désormais intégrée dans snort : compiler avec l'option --enable-inline
   * [[IPS]] en conjonction de [[snort]] :
       * [[Guardian]] - Active Response for Snort ([[http://www.chaotic.org/guardian/|site]])
       * [[SnortSam]] ([[http://www.snortsam.net/|site]]) 
       * [[Snort2c]] ([[http://snort2c.sourceforge.net/|site]]) ((fork de snort2pf))
       * [[Snort2pf]] ([[http://sourceforge.net/projects/snort2pf/|site]])

====Monitoring compatible snort====
   * [[Prelude]].
   * [[BASE]]

===== Liens =====
==== Ressources ====
  * (en) [[http://www.emergingthreats.net/index.php/rules-mainmenu-38.html|Emerging Threats]] : Communauté maintenant des jeux de règles (rulesets) pour Snort
  * (en) [[http://www.bleedingsnort.com/|Bleedingsnort]]


Des interfaces utilisateurs libres (monitoring):
  * [[http://sguil.sourceforge.net/|Sguil]] - Une interface  open source de surveillance de la sécurité réseau
  * [[http://base.secureideas.net/]] - Basic Analysis and Security Engine

====Tutoriel====
   * [[http://aldeid.com/index.php/Snort|Présentation, tutoriel, et configuration de l'IDS Snort]]
   * [[http://arnofear.free.fr/linux/template.php?tuto=11&page=1|Tutoriel]]

==== Documentation ====


----
//Contributeur : **David Schwindenhammer**// [[:tutoriel:comment_editer_un_fichier|éditez le fichier]]